The present invention relates to wireless communication systems and, more particularly, relates to a wireless communication protocol that enables bidirectional communications for controlling synthesized speech and coordinated movement in a plurality of low-cost devices using a single radio-frequency channel.
A variety of consumer products available today rely upon the use of wireless communication. Examples include cordless phones, garage door openers, remotely controlled appliances, and remotely controlled toys. A common motivation that drives manufacturers of these and similar products is minimizing the cost associated with providing the wireless communication capability. Thus, techniques for minimizing the cost of radio equipment for transmitting and receiving radio frequency signals while maintaining reliable communication are continuously explored.
Interactive toys, games, and learning products for the home could be particularly useful applications of wireless communication technology. Wireless systems eliminate the use of wire-line communication links and, therefore, are preferable for many household applications. For example, wireless toys, games, and learning products eliminate wires that small children might tangle or pull free, or that dogs might chew. Wireless products also avoid the need for universal plugs or adapters and allow a large number of wireless devices to be controlled by a single controller without requiring a large terminal port for plugging-in the controlled devices. Wireless communication links are therefore safer, more robust, more versatile, and in many cases less expensive than wire-line communication links.
There are a number of often competing objectives in designing wireless products, such as toys, games, and learning products, for use in a home environment. First, the entire system should be priced within an acceptable range for a children""s entertainment product. Furthermore, because each child may desire new controlled devices over time, the cost of each controlled device should be as low as possible. This means that the controlled devices should include inexpensive wireless communication equipment, such as conventional amplitude modulation (AM) radio equipment and digital data handling equipment. Second, it is advantageous for several wireless devices to be controlled simultaneously by a single controller. In the context of a wireless toy environment, this allows several children to interact with their own toys at the same time. For example, one child may interact with a xe2x80x9cFREDxe2x80x9d toy, while another interacts with a xe2x80x9cWILMAxe2x80x9d toy, while another interacts with a xe2x80x9cDINOxe2x80x9d toy, etc. In addition, it is advantageous for a variety of different toys to be available so that children have a selection of toys to choose from and collect. Moreover, in a progressive learning system, it is advantageous to have a series of toys associated with different skills so that a child can progress through the skills learned by interacting with the different toys.
Third, it is advantageous for the controller and the controlled devices to be operable for engaging in bidirectional communications. This is particularly useful in an interactive learning environment in which a child interacts with a controlled device. For example, the controller may direct a controlled doll to say, xe2x80x9cPlease squeeze my left hand.xe2x80x9d The controlled doll may then transmit the child""s response back to the controller, which responds accordingly. For example, if the child squeezes the doll""s right hand, the controller directs the doll to say, xe2x80x9cNo that""s my right hand, please squeeze my left hand.xe2x80x9d
A fourth consideration is forward compatibility. This means that the original controller can be used to operate future versions of controlled devices. For example, an interactive toy product may initially be introduced with only one or two controlled devices (e.g., xe2x80x9cFREDxe2x80x9d and xe2x80x9cWILMAxe2x80x9d). But over the next several years, dozens of new controlled products may be released to upgrade the system (e.g., xe2x80x9cDINO,xe2x80x9d xe2x80x9cBAM-BAM,xe2x80x9d etc.). Forward compatibility allows the new controlled devices to be operated by the original controller.
These and other desirable attributes of the wireless system should be attained within severe bandwidth limitations. Governmental regulations over the radio-frequency spectrum limits the amount of the spectrum that may be allocated to devices such as toys, games, and learning products. In fact, the Federal Communications Commission (FCC) has allocated only a few radio-frequency channels for low cost consumer products. Because several widely-used products fall into this category, such as cordless telephones and garage door openers, crosstalk and interference between these devices and newly-introduced wireless products should be avoided. The amount of the radio-frequency spectrum used by the newly-introduced wireless products should therefore be minimized. In fact, the newly-introduced wireless products should preferably use a single radio-frequency channel.
There is, therefore, a need for inexpensive wireless products, such as toys, games, and learning products, for use in a home environment. There is a further need for a wireless communication system in which several wireless devices may be controlled simultaneously by a single controller. There is a further need for a wireless communication system in which the controller and the controlled devices are operable for engaging in bidirectional communications. There is a further need for a wireless communication system configured for forward compatibility. These and other desirable attributes of the wireless system should be attained within severe bandwidth limitations, such as a single radio-frequency channel.
The present invention meets the needs described above by providing a wireless communication protocol that enables unidirectional communications in a simplex environment, or bidirectional communications in a duplex environment, between a controller and one or more controlled devices. The controller receives or generates video data and control data that may include voice synthesis coefficients and motor movement coefficients for the controlled devices. The video data drives a display device to depict a scene, and the control data drives the controlled devices so that the controlled devices behave as characters in the scene depicted on the display device. Each controlled device is operable for recognizing messages directed to the device and for parsing these messages into control signals for a number of end effectors, such as speech synthesizers, servo motors, lights, heat sources, pumps, etc. The content of messages for, and the set of end effectors in, any particular controlled device may be changed so that the system is forwardly compatible for new controlled devices using the protocol.
Generally described, in a simplex environment, a controller transmits an acquisition message from the controller to a controlled device including a transmitted device code and a subchannel address. The controlled device compares the assigned device code to the transmitted device code and, if the assigned device code corresponds to the transmitted device code, stores the subchannel address as an assigned subchannel address. The controller then transmits a control data packet to the controlled device including a message header, which includes a message subchannel address, and control data. The controlled device compares the assigned subchannel address to the message subchannel address and, if the assigned subchannel address corresponds to the message subchannel address, responds to the control data. To reduce the bandwidth requirement for the control data packet, the subchannel address consists of substantially fewer data bits than the assigned device code. For example, the subchannel address may include only three data bits, whereas the assigned device code may include at least sixteen data bits.
In a duplex environment, the controller transmits an acquisition message from the controller to the controlled device including a transmitted device code. The controlled device compares the assigned device code to the transmitted device code and, if the assigned device code corresponds to the transmitted device code, transmits a response message to the controller including a device identifier that may be based on a random number or an electronic tag set during manufacturing, such as an electronic serial number, or by user settings. The response message may also be delayed by a delay period based on a random number. The controller transmits a verification message to the controlled device including a transmitted identifier and a subchannel address. The controlled device compares the transmitted identifier to the device identifier and, if the transmitted identifier corresponds to the device identifier, the controlled device stores the subchannel address as an assigned subchannel address.
According to an aspect of the invention, a controller for a wireless control system includes a processor for receiving a data stream including video data, encoded acquisition data, and encoded control data. The processor routes the video data to a display device coupled to the processor so that the display device depicts a scene. The processor also extracts the acquisition data from the data stream and routes the acquisition data to a protocol handler that is coupled to the processor. The protocol handler modulates a radio-frequency carrier to create an acquisition message including a device code associated with the controlled device and a subchannel address. A transmitter coupled to the protocol handler then transmits the acquisition message to the controlled device. The protocol handler also extracts the control data from the data stream, modulates the radio-frequency carrier to create a control data packet including a message header, which includes the subchannel address, and the control data. The transmitter then transmits the control data packet to the controlled device so that the controlled device behaves as a character in the scene depicted on the display device.
In a duplex environment, the controller also includes a receiver coupled to the protocol handler for receiving a response message from the controlled device including a device identifier. The protocol handler modulates the radio-frequency carrier to create a verification message including the device identifier and a subchannel address and transmits the verification message to the controlled device.
According to another aspect of the invention, a controlled device for a wireless control system includes a receiver for receiving an acquisition message from a controller including a transmitted device code and a subchannel address. The controlled device also includes a processor coupled to the receiver for comparing the assigned device code to the transmitted device code and, if the assigned device code corresponds to the transmitted device code, storing the subchannel address as an assigned subchannel address. The receiver also receives a control data packet from the controller including a message header, which includes a message subchannel address, and control data. The processor compares the assigned subchannel address to the message subchannel address and, if the assigned subchannel address corresponds to the message subchannel address, responds the control data.
For example, the control data may include voice synthesis coefficients, and the controlled device may include a voice synthesizer for synthesizing voice sounds based on the voice synthesis coefficients so that the controlled device behaves as a character in a scene depicted on a display device coupled to the controller. In addition, the control data may include motor movement coefficients, and the controlled device may include a motor for operating an end effector based on the motor movement coefficients so that the controlled device behaves as a character in a scene depicted on a display device coupled to the controller.
In a duplex environment, the controlled device also includes a random number generator coupled to the processor. If the assigned device code corresponds to the transmitted device code, the processor generates a device identifier based on a random number. Alternatively, the device identifier may be either by an electronic tag set during manufacturing, such as an electronic serial number, or by user settings. The processor also delays transmission of the response message by a delay interval based on a random number. The controlled device also includes an elastic queue for storing the voice synthesis coefficients and providing the voice synthesis coefficients to the voice synthesizer so that the controlled device generates voice sounds based on the voice synthesis coefficients while the controlled device transmits the receptor data response message to the controller. This allows the controlled device to generate voice sounds continuously while the controller and the controlled device engage in bidirectional communications on a single radio-frequency channel.
In summary, the protocol allows the controller to assign subchannels to the controlled devices so that several devices may be controlled simultaneously by a single controller. The use of subchannels advantageously reduces the bandwidth required so that synthesized speech and coordinated movement may be controlled in a plurality of low-cost devices using a single radio-frequency channel. In a duplex environment, the controller assigns a subchannel to a controlled device in an acquisition handshake that may include an acquisition message from the controller to the controlled device, a response message back to the controller, and a verification message to the controlled device.
The acquisition message typically includes a device code corresponding to a genus of controlled devices. Each controlled device of the genus includes a device identifier based on a random number in its response message so that the controller can distinguish among the responding devices. Alternatively, the device identifier may be either by an electronic tag set during manufacturing, such as an electronic serial number, or by user settings. Each controlled device of the genus also delays its response message by a delay interval based on a random number to avoid message collision. The controller then acquires one of the responding devices by including that device""s identifier in the verification message. Once a controlled device is acquired, the controlled device may store voice coefficients received from the controller in an elastic queue so that the controlled device may generate voice sounds continuously while the controller and the controlled device engage in bidirectional communications on a single radio-frequency channel.
That the invention improves over the drawbacks of the prior art and accomplishes these advantages will become apparent from the following detailed description of the exemplary embodiments and the appended drawings and claims.